#include "conf.h"

// TODO - is this needed
void change_video_tables(int a, int b){
}

void  set_quality(int *x){ // -17 highest; +12 lowest
 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
}

// @ FF987088
void __attribute__((naked,noinline)) movie_record_task(){ 

 asm volatile(
"                STMFD   SP!, {R2-R10,LR} \n"
"                LDR     R9, =0x5EE \n"
"                LDR     R8, =0x2710 \n"
"                LDR     R4, =0x7290 \n"
"                MOV     R7, #1 \n"
"                LDR     R6, =0xFF986D90 \n"
"                MOV     R5, #0 \n"

"loc_FF9870A4: \n"
"                LDR     R0, [R4,#0x24] \n"
"                MOV     R2, #0 \n"
"                ADD     R1, SP, #4 \n"
"                BL      sub_FF83A460 \n"
"                LDR     R0, [R4,#0x2C] \n"
"                CMP     R0, #0 \n"
"                LDRNE   R0, [R4,#0xC] \n"
"                CMPNE   R0, #2 \n"
"                LDRNE   R0, [R4,#0x44] \n"
"                CMPNE   R0, #6 \n"
"                BNE     loc_FF9871BC \n"
"                LDR     R0, [SP,#4] \n"
"                LDR     R1, [R0] \n"
"                SUB     R1, R1, #2 \n"
"                CMP     R1, #0xA \n"
"                ADDLS   PC, PC, R1,LSL#2 \n"

"                B       loc_FF9871BC \n"
"loc_FF9870E8: \n"
"                B       loc_FF987170 \n"
"loc_FF9870EC: \n"
"                B       loc_FF987190 \n"
"loc_FF9870F0: \n"
"                B       loc_FF9871A0 \n"
"loc_FF9870F4: \n"
"                B       loc_FF9871A8 \n"
"loc_FF9870F8: \n"
"                B       loc_FF987178 \n"
"loc_FF9870FC: \n"
"                B       loc_FF9871B0 \n"
"loc_FF987100: \n"
"                B       loc_FF987180 \n"
"loc_FF987104: \n"
"                B       loc_FF9871BC \n"
"loc_FF987108: \n"
"                B       loc_FF9871B8 \n"
"loc_FF98710C: \n"
"                B       loc_FF987140 \n"
"loc_FF987110: \n"
"                B       loc_FF987114 \n"

"loc_FF987114: \n"
//"; jumptable entry 10 \n"
"                STR     R5, [R4,#0x40] \n"
"                STR     R5, [R4,#0x30] \n"
"                STR     R5, [R4,#0x34] \n"
"                STRH    R5, [R4,#6] \n"
"                STR     R6, [R4,#0xB4] \n"
"                LDR     R0, [R4,#0xC] \n"
"                ADD     R0, R0, #1 \n"
"                STR     R0, [R4,#0xC] \n"
"                MOV     R0, #6 \n"
"                STR     R0, [R4,#0x44] \n"
"                B       loc_FF98715C \n"

"loc_FF987140: \n"
//"; jumptable entry 9 \n"
"                STR     R5, [R4,#0x40] \n"
"                STR     R5, [R4,#0x30] \n"
"                STR     R6, [R4,#0xB4] \n"
"                LDR     R0, [R4,#0xC] \n"
"                ADD     R0, R0, #1 \n"
"                STR     R0, [R4,#0xC] \n"
"                STR     R7, [R4,#0x44] \n"

"loc_FF98715C: \n"
"                LDR     R2, =0xFF985FA4 \n"
"                LDR     R1, =0xB3E0C \n"
"                LDR     R0, =0xFF9860A0 \n"
"                BL      sub_FF8532D0 \n"
"                B       loc_FF9871BC \n"

"loc_FF987170: \n"
//"; jumptable entry 0            ; LOCATION: MovieRecorder.c:0 \n"

"		BL	unlock_optical_zoom\n" 			// added to unlock the zoom

"                BL      sub_FF986EA0 \n"
"                B       loc_FF9871BC \n"

"loc_FF987178: \n"
//"; jumptable entry 4            ; LOCATION: MovieRecorder.c:2032 \n"
//"                BL      sub_FF9867F8 \n"
"                BL      sub_FF9867F8_my \n"		// patched
"                B       loc_FF9871BC \n"

"loc_FF987180: \n"
//"; jumptable entry 6 \n"
"				LDR		R1, [R0,#0x18] \n"
"				LDR		R0, [R0,#4] \n"
"                BL      sub_FFAFFF84 \n"
"                B       loc_FF9871BC \n"

"loc_FF987190: \n"
//"; jumptable entry 1 \n"
"                LDR     R0, [R4,#0x44] \n"
"                CMP     R0, #5 \n"
"                STRNE   R7, [R4,#0x34] \n"
"                B       loc_FF9871BC \n"

"loc_FF9871A0: \n"
//"; jumptable entry 2            ; LOCATION: MovieRecorder.c:1000 \n"
"                BL      sub_FF986440 \n"
"                B       loc_FF9871BC \n"

"loc_FF9871A8: \n"
//"; jumptable entry 3            ; LOCATION: MovieRecorder.c:0 \n"
"                BL      sub_FF9860EC \n"
"                B       loc_FF9871BC \n"

"loc_FF9871B0: \n"
//"; jumptable entry 5            ; LOCATION: MovieRecorder.c:100 \n"
"                BL      sub_FF985F30 \n"
"                B       loc_FF9871BC \n"

"loc_FF9871B8: \n"
//"; jumptable entry 8            ; LOCATION: MovieRecorder.c:0 \n"
"                BL      sub_FF9875E4 \n"

"loc_FF9871BC: \n"
//"; jumptable default entry \n"
//"; jumptable entry 7 \n"
"                LDR     R1, [SP,#4] \n"
"                STR     R5, [R1] \n"
"                LDR     R3, =0xFF985D8C \n" //;aMovierecorder_
"                MOV     R2, R8 \n"
"                STR     R9, [SP] \n"
"                LDR     R0, [R4,#0x28] \n"
"                BL      sub_FF83ADB4 \n"
"                B       loc_FF9870A4 \n"
 );
}

// TODO - can this be shrunk by jumping to firmware locations after patches ???
void __attribute__((naked,noinline)) sub_FF9867F8_my(){ 
 asm volatile(
"                STMFD   SP!, {R4-R11,LR} \n"
"                SUB     SP, SP, #0x64 \n"
"                MOV     R8, #0 \n"
"                LDR     R6, =0x7290 \n"
"                MOV     R4, R0 \n"
"                STR     R8, [SP,#0x54] \n"
"                STR     R8, [SP,#0x4C] \n"
"                LDR     R0, [R6,#0x44] \n"
"                MOV     R11, #4 \n"
"                CMP     R0, #3 \n"
"                STREQ   R11, [R6,#0x44] \n"
"                LDR     R0, [R6,#0xB4] \n"
"                MOV     R9, #0 \n"
"                MOV     R7, #0 \n"
"                MOV     R5, #1 \n"
"                BLX     R0 \n"
"                LDR     R0, [R6,#0x44] \n"
"                CMP     R0, #6 \n"
"                BEQ     loc_FF986858 \n"
"                LDR     R1, [R6,#0xC] \n"
"                CMP     R1, #2 \n"
"                BNE     loc_FF986878 \n"
"                CMP     R0, #5 \n"
"                BEQ     loc_FF9868F0 \n"

"loc_FF986858: \n"
"                LDR     R0, =0xFF985D8C \n"	//aMovierecorder_
"                MOV     R7, #1 \n"
"                MOV     R1, #0x7F0 \n"
"                BL      _DebugAssert \n"
"                LDR     R0, [R6,#0x44] \n"
"                CMP     R0, #4 \n"
"                MOVNE   R5, #0 \n"
"                B       loc_FF986880 \n"

"loc_FF986878: \n"
"                CMP     R0, #4 \n"
"                BNE     loc_FF9868F0 \n"

"loc_FF986880: \n"
"                LDRH    R0, [R6,#6] \n"
"                CMP     R0, #1 \n"
"                LDREQ   R1, =0x807 \n"
"                LDREQ   R0, =0xFF985D8C \n"	//aMovierecorder_
"                BLEQ    _DebugAssert \n"
"                LDRH    R0, [R6,#6] \n"
"                CMP     R0, #3 \n"
"                BNE     loc_FF9868B4 \n"
"                LDR     R0, [R6,#0x6C] \n"
"                LDR     R1, [R6,#0xB8] \n"
"                BL      sub_FFBB5890 \n"
"                CMP     R1, #0 \n"
"                MOVNE   R5, #0 \n"

"loc_FF9868B4: \n"
"                LDR     R0, [R6,#0x44] \n"
"                CMP     R0, #6 \n"
"                CMPNE   R0, #1 \n"
"                CMPNE   R0, #3 \n"
"                BNE     loc_FF9868F8 \n"
"                CMP     R7, #1 \n"
"                CMPEQ   R5, #0 \n"
"                BNE     loc_FF9868F8 \n"
"                LDR     R0, [R6,#0x18] \n"
"                MOV     R1, #0x3E8 \n"
"                BL      _eventproc_export_TakeSemaphore \n"
"                CMP     R0, #9 \n"
"                BNE     loc_FF986D18 \n"
"                MOV     R0, #0x90000 \n"
"                BL      _eventproc_export_HardwareDefect \n"

"loc_FF9868F0: \n"
"                ADD     SP, SP, #0x64 \n"
"                LDMFD   SP!, {R4-R11,PC} \n"

"loc_FF9868F8: \n"
"                CMP     R5, #1 \n"
"                MOV     R10, #1 \n"
"                BNE     loc_FF986920 \n"
"                ADD     R3, SP, #0x4c \n"
"                ADD     R2, SP, #0x50 \n"
"                ADD     R1, SP, #0x54 \n"
"                ADD     R0, SP, #0x58 \n"
"                BL      sub_FFB00044 \n"
"                MOVS    R9, R0 \n"
"                BNE     loc_FF98693C \n"

"loc_FF986920: \n"
"                LDR     R0, [R6,#0x34] \n"
"                CMP     R0, #1 \n"
"                BNE     loc_FF986A98 \n"
"                LDR     R0, [R6,#0x6C] \n"
"                LDR     R1, [R6,#0x48] \n"
"                CMP     R0, R1 \n"
"                BCC     loc_FF986A98 \n"

"loc_FF98693C: \n"
"                CMP     R9, #0x80000001 \n"
"                STREQ   R11, [R6,#0x70] \n"
"                BEQ     loc_FF986974 \n"
"                CMP     R9, #0x80000003 \n"
"                STREQ   R10, [R6,#0x70] \n"
"                BEQ     loc_FF986974 \n"
"                CMP     R9, #0x80000005 \n"
"                MOVEQ   R0, #2 \n"
"                BEQ     loc_FF986970 \n"
"                CMP     R9, #0x80000007 \n"
"                STRNE   R8, [R6,#0x70] \n"
"                BNE     loc_FF986974 \n"
"                MOV     R0, #3 \n"

"loc_FF986970: \n"
"                STR     R0, [R6,#0x70] \n"

"loc_FF986974: \n"
"                LDR     R0, [R6,#0xC] \n"
"                CMP     R0, #2 \n"
"                BNE     loc_FF9869DC \n"
"                MOV     R1, #0 \n"
"                LDR     R0, =0xFF9867EC \n"
"                BL      sub_FFABBE0C \n"
"                LDR     R2, [R6,#0x64] \n"
"                ADD     R3, SP, #0x5c \n"
"                STRD    R2, [SP,#0x28] \n"
"                MOV     R2, #0x18 \n"
"                ADD     R1, SP, #0x34 \n"
"                ADD     R0, SP, #0x10 \n"
"                BL      sub_FFBB3230 \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                MVN     R3, #1 \n"	//0xFFFFFFFE \n"
"                ADD     R0, SP, #0x60 \n"
"                STMEA   SP, {R0-R3} \n"
"                LDR     R0, =0xB3E54 \n"
"                MOV     R3, #0 \n"
"                MOV     R2, #0 \n"
"                MOV     R1, #0x40 \n"
"                BL      sub_FFABBD64 \n"
"                B       loc_FF986A30 \n"

"loc_FF9869D4: \n"
"                MOV     R1, #1 \n"
"                B       loc_FF986CA4 \n"

"loc_FF9869DC: \n"
"                BL      sub_FF987690 \n"
"                LDR     R2, [R6,#0x64] \n"
"                ADD     R3, SP, #0x5c \n"
"                MVN     R1, #1 \n"	//0xFFFFFFFE \n"
"                MOV     R0, #0 \n"
"                ADD     R5, SP, #0x1c \n"
"                STMIA   R5, {R0-R3} \n"
"                LDR     R3, [R4,#0x1C] \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                ADD     R4, SP, #0x0c \n"
"                ADD     R0, SP, #0x60 \n"
"                STMIA   R4, {R0-R3} \n"
"                MOV     R3, #0 \n"
"                MOV     R1, #0x40 \n"
"                MOV     R2, #0 \n"
"                STMEA   SP, {R1-R3} \n"
"                LDR     R3, =0xB3E54 \n"
"                MOV     R1, #0 \n"
"                MOV     R0, #0 \n"
"                BL      sub_FFABABD4 \n"

"loc_FF986A30: \n"
"                LDR     R0, [R6,#0x18] \n"
"                LDR     R1, [R6,#0x60] \n"
"                BL      _eventproc_export_TakeSemaphore \n"
"                CMP     R0, #9 \n"
"                BEQ     loc_FF9869D4 \n"
"                LDR     R0, [SP,#0x5c] \n"
"                CMP     R0, #0 \n"
"                BEQ     loc_FF986A58 \n"

"loc_FF986A50: \n"
"                MOV     R1, #1 \n"
"                B       loc_FF986CBC \n"

"loc_FF986A58: \n"
"                LDR     R0, [R6,#0xC] \n"
"                MOV     R4, #5 \n"
"                CMP     R0, #2 \n"
"                MOV     R0, #1 \n"
"                BNE     loc_FF986A84 \n"
"                BL      sub_FFABBDCC \n"
"                BL      sub_FFABBDF4 \n"
"                STR     R4, [R6,#0x44] \n"
"                BL      sub_FF987690 \n"
"                STR     R10, [R6,#0x44] \n"
"                B       loc_FF986A90 \n"

"loc_FF986A84: \n"
"                BL      sub_FFABAC88 \n"
"                BL      sub_FFABACE8 \n"
"                STR     R4, [R6,#0x44] \n"

"loc_FF986A90: \n"
"                STR     R8, [R6,#0x34] \n"
"                B       loc_FF9868F0 \n"

"loc_FF986A98: \n"
"                CMP     R5, #1 \n"
"                BNE     loc_FF986D18 \n"
"                STR     R10, [R6,#0x38] \n"
"                LDR     R0, [R6,#0x6C] \n"
"                LDR     R11, [R4,#0xC] \n"
"                CMP     R0, #0 \n"
"                LDRNE   R9, [SP,#0x58] \n"
"                LDRNE   R10, [SP,#0x54] \n"
"                BNE     loc_FF986BE0 \n"
"                LDR     R0, [R6,#0xC] \n"
"                CMP     R0, #2 \n"
"                BNE     loc_FF986B3C \n"
"                MOV     R1, #0 \n"
"                LDR     R0, =0xFF9867EC \n"
"                BL      sub_FFABBE0C \n"
"                LDR     R2, [R6,#0x64] \n"
"                ADD     R3, SP, #0x5c \n"
"                STRD    R2, [SP,#0x28] \n"
"                MOV     R2, #0x18 \n"
"                ADD     R1, SP, #0x34 \n"
"                ADD     R0, SP, #0x10 \n"
"                BL      sub_FFBB3230 \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                MVN     R3, #0 \n"	//0xFFFFFFFF \n"
"                ADD     R0, SP, #0x60 \n"
"                STMEA   SP, {R0-R3} \n"
"                LDR     R0, [SP,#0x58] \n"
"                LDR     R1, [SP,#0x54] \n"
"                LDR     R2, [SP,#0x50] \n"
"                LDR     R3, [SP,#0x4c] \n"
"                BL      sub_FFABBD64 \n"
"                LDR     R0, [R6,#0x18] \n"
"                LDR     R1, [R6,#0x60] \n"
"                BL      _eventproc_export_TakeSemaphore \n"
"                CMP     R0, #9 \n"
"                BEQ     loc_FF9869D4 \n"
"                MOV     R1, #0 \n"
"                LDR     R0, =0xFF9867E0 \n"
"                BL      sub_FFABBE0C \n"
"                B       loc_FF986BA4 \n"

"loc_FF986B3C: \n"
"                LDR     R0, [R4,#0x20] \n"
"                LDR     R2, [R6,#0x64] \n"
"                ADD     R3, SP, #0x5c \n"
"                MVN     R1, #0 \n"	//0xFFFFFFFF \n"
"                ADD     R9, SP, #0x1c \n"
"                STMIA   R9, {R0-R3} \n"
"                LDR     R3, [R4,#0x1C] \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                ADD     R0, SP, #0x60 \n"
"                ADD     R9, SP, #0x0c \n"
"                STMIA   R9, {R0-R3} \n"
"                LDR     R1, [SP,#0x50] \n"
"                LDR     R2, [SP,#0x54] \n"
"                LDR     R3, [SP,#0x4c] \n"
"                STMFA   SP, {R1,R3} \n"
"                STR     R2, [SP] \n"
"                LDMIB   R4, {R0,R1} \n"
"                LDR     R3, [SP,#0x58] \n"
"                MOV     R2, R11 \n"
"                BL      sub_FFABABD4 \n"
"                LDR     R0, [R6,#0x18] \n"
"                LDR     R1, [R6,#0x60] \n"
"                BL      _eventproc_export_TakeSemaphore \n"
"                CMP     R0, #9 \n"
"                BEQ     loc_FF9869D4 \n"

"loc_FF986BA4: \n"
"                LDR     R0, [SP,#0x5c] \n"
"                CMP     R0, #0 \n"
"                BNE     loc_FF986A50 \n"
"                LDR     R0, [R6,#0xC] \n"
"                CMP     R0, #2 \n"
"                MOV     R0, #1 \n"
"                BNE     loc_FF986BC8 \n"
"                BL      sub_FFABBDCC \n"
"                B       loc_FF986BCC \n"

"loc_FF986BC8: \n"
"                BL      sub_FFABAC88 \n"

"loc_FF986BCC: \n"
"                LDR     R0, [SP,#0x60] \n"
"                LDR     R1, [SP,#0x58] \n"
"                ADD     R9, R1, R0 \n"
"                LDR     R1, [SP,#0x54] \n"
"                SUB     R10, R1, R0 \n"

"loc_FF986BE0: \n"
"                LDR     R0, [R6,#0xC] \n"
"                LDR     R2, [R6,#0x64] \n"
"                CMP     R0, #2 \n"
"                ADD     R3, SP, #0x5c \n"
"                BNE     loc_FF986C34 \n"
"                STRD    R2, [SP,#0x28] \n"
"                MOV     R2, #0x18 \n"
"                ADD     R1, SP, #0x34 \n"
"                ADD     R0, SP, #0x10 \n"
"                BL      sub_FFBB3230 \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                LDR     R3, [R6,#0x68] \n"
"                ADD     R0, SP, #0x60 \n"
"                STMEA   SP, {R0-R3} \n"
"                LDR     R2, [SP,#0x50] \n"
"                LDR     R3, [SP,#0x4c] \n"
"                MOV     R1, R10 \n"
"                MOV     R0, R9 \n"
"                BL      sub_FFABBD64 \n"
"                B       loc_FF986C8C \n"

"loc_FF986C34: \n"
"                LDR     R1, [R6,#0x68] \n"
"                LDR     R0, [R4,#0x20] \n"
"                STR     R1, [SP,#0x20] \n"
"                STR     R0, [SP,#0x1c] \n"
"                STR     R2, [SP,#0x24] \n"
"                STR     R3, [SP,#0x28] \n"
"                LDR     R3, [R4,#0x1C] \n"
"                LDR     R1, [R6,#0x84] \n"
"                LDR     R2, [R6,#0x88] \n"
"                ADD     R0, SP, #0x60 \n"
"                STR     R2, [SP,#0x14] \n"
"                LDR     R2, [SP,#0x50] \n"
"                STR     R1, [SP,#0x10] \n"
"                STR     R3, [SP,#0x18] \n"
"                LDR     R3, [SP,#0x4c] \n"
"                STR     R0, [SP,#0x0c] \n"
"                STMFA   SP, {R2,R3} \n"
"                STR     R10, [SP] \n"
"                LDMIB   R4, {R0,R1} \n"
"                MOV     R3, R9 \n"
"                MOV     R2, R11 \n"
"                BL      sub_FFABABD4 \n"

"loc_FF986C8C: \n"
"                LDR     R0, [R6,#0x18] \n"
"                LDR     R1, [R6,#0x60] \n"
"                BL      _eventproc_export_TakeSemaphore \n"
"                CMP     R0, #9 \n"
"                BNE     loc_FF986CAC \n"
"                MOV     R1, #0 \n"

"loc_FF986CA4: \n"
"                MOV     R0, #0x90000 \n"
"                B       loc_FF986CC0 \n"

"loc_FF986CAC: \n"
"                LDR     R0, [SP,#0x5c] \n"
"                CMP     R0, #0 \n"
"                BEQ     loc_FF986CC8 \n"
"                MOV     R1, #0 \n"

"loc_FF986CBC: \n"
"                MOV     R0, #0xA0000 \n"

"loc_FF986CC0: \n"
"                BL      sub_FF986780 \n"
"                B       loc_FF9868F0 \n"

"loc_FF986CC8: \n"
"                LDR     R0, [R6,#0xC] \n"
"                CMP     R0, #2 \n"
"                MOV     R0, #0 \n"
"                BNE     loc_FF986CE0 \n"
"                BL      sub_FFABBDCC \n"
"                B       loc_FF986CE4 \n"

"loc_FF986CE0: \n"
"                BL      sub_FFABAC88 \n"

"loc_FF986CE4: \n"
"                LDR     R0, [SP,#0x58] \n"
"                LDR     R1, [SP,#0x60] \n"
"                BL      sub_FFB0027C \n"
"                LDR     R0, [R6,#0x68] \n"
"                LDR     R3, =0x7318 \n"
"                ADD     R1, R0, #1 \n"
"                STR     R1, [R6,#0x68] \n"
"                STR     R3, [SP] \n"
"                LDR     R0, [R6,#0x64] \n"
"                SUB     R3, R3, #4 \n"
"                AND     R2, R0, #0xFF \n"
"                LDR     R0, [SP,#0x60] \n"
"                BL      sub_FFAFDF68 \n"

                "LDR     R0, =0x7318-4\n" // <----   -4 //+
                "BL      set_quality\n"                 //+

"loc_FF986D18: \n"
"                CMP     R5, #1 \n"
"                LDRNEH  R0, [R6,#6] \n"
"                CMPNE   R0, #3 \n"
"                BNE     loc_FF9868F0 \n"
"                LDR     R0, [R6,#0x6C] \n"
"                ADD     R0, R0, #1 \n"
"                STR     R0, [R6,#0x6C] \n"
"                LDRH    R1, [R6,#6] \n"
"                CMP     R1, #3 \n"
"                LDRNE   R1, [R6,#0x54] \n"
"                LDREQ   R1, =0x3E9 \n"
"                MUL     R0, R1, R0 \n"
"                LDREQ   R1, =0x1770 \n"
"                LDRNE   R1, [R6,#0x50] \n"
"                BL      sub_FFBB5890 \n"
"                MOV     R4, R0 \n"
"                BL      sub_FFB005FC \n"
"                LDR     R0, [R6,#0x8C] \n"
"                CMP     R0, R4 \n"
"                BNE     loc_FF986D74 \n"
"                LDR     R0, [R6,#0x3C] \n"
"                CMP     R0, #1 \n"
"                BNE     loc_FF986D88 \n"

"loc_FF986D74: \n"
"                LDR     R1, [R6,#0x98] \n"
"                MOV     R0, R4 \n"
"                BLX     R1 \n"
"                STR     R4, [R6,#0x8C] \n"
"                STR     R8, [R6,#0x3C] \n"

"loc_FF986D88: \n"
"                STR     R8, [R6,#0x38] \n"
"                B       loc_FF9868F0 \n"
	);
}
